#if !defined(ximera_gui_cegui_textbox_hpp)
#define ximera_gui_cegui_textbox_hpp

// -----------------------------------------------------------

#include <ximera/gui/itextbox.hpp>
#include <ximera/gui/cegui/windowtemplate.hpp>

#include <elements/CEGUIEditbox.h>

namespace ximera { namespace gui { namespace cegui
{
    class XIMERA_PLUGIN_API Textbox : public WindowTemplate<ITextbox>
    {
    public:
        Textbox(CEGUI::Editbox* ceguiEditbox)
            : WindowTemplate<ITextbox>(ceguiEditbox) {}

        virtual UInt32 maxLength() const;
        virtual void maxLength(UInt32 value);

        virtual bool readOnly() const;
        virtual void readOnly(bool value);

        virtual bool useMask() const;
        virtual void useMask(bool value);

        virtual Char maskChar() const;
        virtual void maskChar(Char c);

        CEGUI::Editbox* ceguiEditbox() const { return static_cast<CEGUI::Editbox*>(_ceguiWindow); }
    };
}}}

// -----------------------------------------------------------

#endif
